﻿using LimaLims.Application.Service.User.Dto;
using LimaLims.Core;
using LimaLims.Core.Entity.System;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LimaLims.Application.Service.User
{
    public interface ISysUserService
    {
        Task AddUser(AddUserInput input);
        Task DeleteUser(long id);
        Task<SysUser> GetUserById(long userId);
        Task<List<long>> GetUserOwnRole(long userId);
        Task GrantUserRole(UpdateUserRoleDataInput input);
        Task ResetUserPwd(long userId);
        Task UpdateUser(UpdateUserInput input);
        Task UpdateUserPwd(ChangePasswordUserInput input);
        Task<PageResult<UserOutput>> QueryUserPageList([FromQuery] UserInput input);
    }
}
